﻿using System.Windows.Forms;

namespace DotNet.Common
{
	/// <summary>
	/// 委托泛型
	/// </summary>
	/// <typeparam name="Type">类型</typeparam>
	/// <param name="value">数值</param>
	public delegate void ValueInvoker<Type>(Type value);

	/// <summary>
	/// 文件委托
	/// </summary>
	/// <param name="filepath">输入字符串（比如：文件名...）</param>
	/// <returns>返回运行结果（真/假）</returns>
	public delegate bool FileInvoker(string filepath);

	/// <summary>
	/// 整型委托
	/// </summary>
	/// <param name="value">输入整型</param>
	public delegate void IntInvoker(int data);

	/// <summary>
	/// 字符串委托
	/// </summary>
	/// <param name="str"></param>
	public delegate void StringInvoker(string str);

    /// <summary>
    /// 字符串数组委托
    /// </summary>
    /// <param name="strArray"></param>
    public delegate void StringArrayInvoker(string[] strArray);

	/// <summary>
	/// 空委托
	/// </summary>
	public delegate void VoidInvoker();

	/// <summary>
	/// 布尔委托
	/// </summary>
	/// <param name="flag"></param>
	public delegate void BoolInvoker(bool flag);

	/// <summary>
	/// 控件委托
	/// </summary>
	/// <param name="ctl"></param>
	public delegate void ControlInvoker(Control ctl);

    /// <summary>
    /// 鼠标委托
    /// </summary>
    /// <param name="e"></param>
    public delegate void MouseInvoker(MouseEventArgs e);
}
